base-methods
Starter for creating a node.js application with a handful of common methods, like set
, get
, and del
.
Install
Install with npm
$ npm i base-methods --save
Usage
var Base = require('base-methods');
inherit
function Foo() {
Base.call(this);
}
Base.extend(Foo);
instantiate
var base = new Base();
base.set('foo', 'bar');
console.log(base.foo);
Inherit or instantiate with a namespace
A .create()
method is exposed on the exported function to allow you to create a custom namespace for setting/getting on the instance.
var Base = require('base-methods').create('cache');
var base = new Base();
base.set('foo', 'bar');
console.log(base.cache.foo);
API
Create an instance of Base
with options
.
Params
Example
var app = new Base();
app.set('foo', 'bar');
console.log(app.get('foo'));
Define a plugin function to be called immediately upon init. Plugins are chainable and the only parameter exposed to the plugin is the application instance.
Params
fn
{Function}: plugin function to callreturns
{Object}: Returns the item instance for chaining.
Example
var app = new Base()
.use(foo)
.use(bar)
.use(baz)
Assign value
to key
. Also emits set
with the key and value.
Params
key
{String}value
{*}returns
{Object}: Returns the instance for chaining.
Example
app.on('set', function(key, val) {
});
app.set(key, value);
app.set({name: 'Halle'});
app.set([{foo: 'bar'}, {baz: 'quux'}]);
console.log(app);
Return the stored value of key
. Dot notation may be used to get nested property values.
Params
key
{*}escape
{Boolean}returns
{*}
Example
app.set('foo', 'bar');
app.get('foo');
Delete key
from the instance. Also emits del
with the key of the deleted item.
Params
key
{String}returns
{Object}: Returns the instance for chaining.
Example
app.del();
app.del('foo');
app.del(['foo', 'bar']);
Define a non-enumerable property on the instance.
Params
key
{String}value
{any}returns
{Object}: Returns the instance for chaining.
Example
define('render', function(str, locals) {
return _.template(str)(locals);
});
Visit method
over the items in the given object, or map
visit over the objects in an array.
Params
method
{String}val
{Object|Array}returns
{Object}: Returns the instance for chaining.
Mix property key
onto the Base prototype. If base-methods
is inherited using Base.extend
this method will be overridden
by a new mixin
method that will only add properties to the
prototype of the inheriting application.
Params
key
{String}val
{Object|Array}returns
{Object}: Returns the instance for chaining.
Static method for inheriting both the prototype and
static methods of the Base
class. See class-utils
for more details.
Similar to util.inherit
, but copies all static properties,
prototype properties, and descriptors from Provider
to Receiver
.
class-utils for more details.
Related projects
Running tests
Install dev dependencies:
$ npm i -d && npm test
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Author
Jon Schlinkert
License
Copyright © 2015 Jon Schlinkert
Released under the MIT license.
This file was generated by verb-cli on October 07, 2015.